<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:vitro="http://vitro.mannlib.cornell.edu/ns/vitro/0.7#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:swrc="http://swrc.ontoware.org/ontology#"
    xmlns:rifcs="http://ands.org.au/standards/rif-cs/registryObjects"
xmlns="http://www.openarchives.org/OAI/2.0/" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:datetime="http://exslt.org/dates-and-times"
    xmlns:FaE="http://www.findanexpert.unimelb.edu.au/researcher/"
xmlns:ands="http://researchDataRegistry.unimelb.edu.au/ANDSHARVEST#"
xmlns:database="http://www.oclc.org/pears/"

    version="1.0">
    <xsl:output method="xml" encoding="utf-8" indent="yes"/>
        
    <xsl:template match="rdf:RDF">
        <xsl:element name="collection" xmlns="http://www.openarchives.org/OAI/2.0/">
            <xsl:apply-templates select="rdf:Description[rdf:type/@rdf:resource='http://swrc.ontoware.org/ontology#Project']"/>
            <xsl:apply-templates select="rdf:Description[rdf:type/@rdf:resource='http://swrc.ontoware.org/ontology#Department']"/>

            <xsl:apply-templates select="rdf:Description[rdf:type/@rdf:resource='http://swrc.ontoware.org/ontology#AcademicStaff']"/>
            <xsl:apply-templates select="rdf:Description[rdf:type/@rdf:resource='http://www.findanexpert.unimelb.edu.au/researcher/researchData']"/>
        </xsl:element>
    </xsl:template>

    
    <xsl:template match="rdf:Description[rdf:type/@rdf:resource='http://swrc.ontoware.org/ontology#Project']">
        
    
<xsl:element name="record">
<xsl:element name="database:recordid" namespace="http://www.oclc.org/pears/">
<xsl:value-of select="@rdf:about"/>/rif
</xsl:element>


<xsl:element name="header">

<xsl:element name="identifier">
<xsl:value-of select="@rdf:about"/>
</xsl:element>

<xsl:element name="datestamp">
 <xsl:value-of select="ands:firstHarvested"/>
</xsl:element>
<xsl:element name="setSpec">Projects</xsl:element>
</xsl:element>



<xsl:element name="metadata">

           <xsl:element name="registryObject" xmlns="http://ands.org.au/standards/rif-cs/registryObjects"> <xsl:attribute name="xsi:schemaLocation">http://ands.org.au/standards/rif-cs/registryObjects http://services.ands.org.au/home/orca/schemata/registryObjects.xsd</xsl:attribute>


            
            <xsl:attribute name="group">The University of Melbourne</xsl:attribute>
            <xsl:element name="key"><xsl:value-of select="@rdf:about"/>
            </xsl:element>
	<xsl:element name="originatingSource">http://vitrofe.esrc.unimelb.edu.au:8333/vitroANDS/</xsl:element>
            <xsl:element name="activity">
                <xsl:attribute name="type">project</xsl:attribute>
            <xsl:attribute name="dateModified">
<xsl:value-of select="ands:firstHarvested"/></xsl:attribute>
                 <xsl:element name="name">
                      <xsl:element name="namePart">
                    <xsl:attribute name="type">primary</xsl:attribute>
                    <xsl:value-of select="rdfs:label"/>
		</xsl:element>
                </xsl:element>

                <xsl:for-each select="swrc:member">
                    <xsl:element name="relatedObject">

                        <xsl:element name="key">
                                <xsl:value-of select="@rdf:resource"/>
                         </xsl:element>
                        <xsl:element name="relation">
                            <xsl:attribute name="type">hasParticipant</xsl:attribute>
                            <xsl:element name="description">Has Project Member</xsl:element>
                        </xsl:element>
                    </xsl:element>

                </xsl:for-each>
                <xsl:for-each select="FaE:ResearchDataSets">
                    <xsl:element name="relatedObject">

                        <xsl:element name="key">
                                <xsl:value-of select="@rdf:resource"/>
                         </xsl:element>
                        <xsl:element name="relation">
                            <xsl:attribute name="type">hasOutput</xsl:attribute>
                            <xsl:element name="description">related data sets</xsl:element>
                        </xsl:element>
                    </xsl:element>

                </xsl:for-each>
         <xsl:element name="description">
	  <xsl:attribute name="type">full</xsl:attribute>
          <xsl:value-of select="vitro:description"/>  
          </xsl:element>
            </xsl:element>
       </xsl:element>



</xsl:element>

</xsl:element>
    </xsl:template>
    
    <xsl:template match="rdf:Description[rdf:type/@rdf:resource='http://swrc.ontoware.org/ontology#Department']">
  


<xsl:element name="record">
<xsl:element name="database:recordid" namespace="http://www.oclc.org/pears/">
<xsl:value-of select="@rdf:about"/>/rif
</xsl:element>
<xsl:element name="header">

<xsl:element name="identifier">
<xsl:value-of select="@rdf:about"/>
</xsl:element>

<xsl:element name="datestamp">
<xsl:value-of select="ands:firstHarvested"/>
</xsl:element>

<xsl:element name="setSpec">Projects</xsl:element>


</xsl:element>
<xsl:element name="metadata" >
<xsl:element name="registryObject" xmlns="http://ands.org.au/standards/rif-cs/registryObjects"> <xsl:attribute name="xsi:schemaLocation">http://ands.org.au/standards/rif-cs/registryObjects http://services.ands.org.au/home/orca/schemata/registryObjects.xsd</xsl:attribute>

            <xsl:attribute name="group">The University of Melbourne</xsl:attribute>
            <xsl:element name="key"><xsl:value-of select="@rdf:about"/></xsl:element>
	<xsl:element name="originatingSource">http://vitrofe.esrc.unimelb.edu.au:8333/vitroANDS/</xsl:element>
            <xsl:element name="party">
                <xsl:attribute name="type">group</xsl:attribute>
            <xsl:attribute name="dateModified"><xsl:value-of select="ands:firstHarvested"/></xsl:attribute>
                 <xsl:element name="name">
                   <xsl:element name="namePart">
                    <xsl:attribute name="type">text</xsl:attribute>
                <xsl:value-of select="rdfs:label"/> - University of Melbourne
                   </xsl:element>
                </xsl:element>

            <xsl:for-each select="swrc:employs">

                <xsl:element name="relatedObject">
                   <xsl:element name="key">
                            <xsl:value-of select="@rdf:resource"/>
                   </xsl:element>
                    <xsl:element name="relation">
                        <xsl:attribute name="type">hasMember</xsl:attribute>
                    <xsl:element name="description">employs</xsl:element>
                    </xsl:element>

                </xsl:element>
         
     </xsl:for-each>
                      <xsl:for-each select="FaE:custodianOfResearchData">

                <xsl:element name="relatedObject">
                   <xsl:element name="key">
                            <xsl:value-of select="@rdf:resource"/>
                   </xsl:element>
                    <xsl:element name="relation">
                        <xsl:attribute name="type">isManagerOf</xsl:attribute>
                    <xsl:element name="description">custodian of research data</xsl:element>
                    </xsl:element>

                </xsl:element>
         
     </xsl:for-each>
         <xsl:element name="description">
	  <xsl:attribute name="type">full</xsl:attribute>
          <xsl:value-of select="vitro:description"/>  
          </xsl:element>
            </xsl:element>
        </xsl:element>
</xsl:element></xsl:element>
    </xsl:template>
    
    <xsl:template match="rdf:Description[rdf:type/@rdf:resource='http://swrc.ontoware.org/ontology#AcademicStaff']">
      
<xsl:element name="record">
<xsl:element name="database:recordid"  namespace="http://www.oclc.org/pears/">
<xsl:value-of select="@rdf:about"/>/rif
</xsl:element>
<xsl:element name="header">

<xsl:element name="identifier">
<xsl:value-of select="@rdf:about"/>
</xsl:element>

<xsl:element name="datestamp">
<xsl:value-of select="ands:firstHarvested"/>
</xsl:element>

<xsl:element name="setSpec">Projects</xsl:element>


</xsl:element>

<xsl:element name="metadata">

            <xsl:element name="registryObject" xmlns="http://ands.org.au/standards/rif-cs/registryObjects"> <xsl:attribute name="xsi:schemaLocation">http://ands.org.au/standards/rif-cs/registryObjects http://services.ands.org.au/home/orca/schemata/registryObjects.xsd</xsl:attribute>


            <xsl:attribute name="group">The University of Melbourne</xsl:attribute>
            


	    <xsl:element name="key"><xsl:value-of select="@rdf:about"/></xsl:element>
	<xsl:element name="originatingSource">http://vitrofe.esrc.unimelb.edu.au:8333/vitroANDS/</xsl:element>
        
           <xsl:element name="party">
                <xsl:attribute name="type">person</xsl:attribute>
            <xsl:attribute name="dateModified"><xsl:value-of select="ands:firstHarvested"/></xsl:attribute>   
            <xsl:element name="name">
                <xsl:element name="namePart">
                    <xsl:attribute name="type">family</xsl:attribute>
                    <xsl:value-of select="swrc:lastName"/>
                </xsl:element>
                <xsl:element name="namePart">
                    <xsl:attribute name="type">given</xsl:attribute>
                    <xsl:value-of select="swrc:firstName"/>
                </xsl:element>
            </xsl:element>

	    <xsl:element name="location">
		<xsl:element name="address">
                     <xsl:element name="electronic">
			<xsl:attribute name="type">url</xsl:attribute>
			<xsl:element name="value"><xsl:value-of select="@rdf:about"/></xsl:element>
		     </xsl:element>
	        </xsl:element>
	    </xsl:element>

          <xsl:for-each select="FaE:hasDataSet">
                <xsl:element name="relatedObject">
                    <xsl:element name="key">
                        <xsl:value-of select="@rdf:resource"/>
                    </xsl:element>
                    <xsl:element name="relation">
                        <xsl:attribute name="type">isCollectorOf</xsl:attribute>
                        <xsl:element name="description">has data set</xsl:element>
                    </xsl:element>
                </xsl:element>
            </xsl:for-each>

            <xsl:for-each select="swrc:worksAtProject">
                <xsl:element name="relatedObject">
                    <xsl:element name="key">
                        <xsl:value-of select="@rdf:resource"/>
                    </xsl:element>
                    <xsl:element name="relation">
                        <xsl:attribute name="type">hasAssociationWith</xsl:attribute>

                        <xsl:element name="description">works on</xsl:element>
                    </xsl:element>
                </xsl:element>
            </xsl:for-each>
            <xsl:for-each select="swrc:affiliation">
                <xsl:element name="relatedObject">
                    <xsl:element name="key">
                        <xsl:value-of select="@rdf:resource"/>

                    </xsl:element>
                    <xsl:element name="relation">
                        <xsl:attribute name="type">hasAssociationWith</xsl:attribute>
                        <xsl:element name="description">works on</xsl:element>
                    </xsl:element>
                </xsl:element>
            </xsl:for-each>
         <xsl:element name="description">
	  <xsl:attribute name="type">full</xsl:attribute>
          <xsl:value-of select="vitro:description"/>  
          </xsl:element>
           </xsl:element>
      
</xsl:element>
           </xsl:element></xsl:element>
    </xsl:template>

    <xsl:template match="rdf:Description[rdf:type/@rdf:resource='http://www.findanexpert.unimelb.edu.au/researcher/researchData']">
   <xsl:element name="record">
<xsl:element name="database:recordid"  namespace="http://www.oclc.org/pears/">
<xsl:value-of select="@rdf:about"/>/rif
</xsl:element>
<xsl:element name="header">

<xsl:element name="identifier">
<xsl:value-of select="@rdf:about"/>
</xsl:element>

<xsl:element name="datestamp">
 <xsl:value-of select="ands:firstHarvested"/>
</xsl:element>

<xsl:element name="setSpec">
Projects</xsl:element>


</xsl:element>
<xsl:element name="metadata">
<xsl:element name="registryObject" xmlns="http://ands.org.au/standards/rif-cs/registryObjects">
 <xsl:attribute name="xsi:schemaLocation">http://ands.org.au/standards/rif-cs/registryObjects http://services.ands.org.au/home/orca/schemata/registryObjects.xsd</xsl:attribute>


            <xsl:attribute name="group">The University of Melbourne</xsl:attribute>
            <xsl:element name="key"><xsl:value-of select="@rdf:about"/></xsl:element>
	<xsl:element name="originatingSource">http://vitrofe.esrc.unimelb.edu.au:8333/vitroANDS/</xsl:element>
            <xsl:element name="collection">
                <xsl:attribute name="type">dataset</xsl:attribute>
            <xsl:attribute name="dateModified"><xsl:value-of select="ands:firstHarvested"/></xsl:attribute>
                 <xsl:element name="name">
                   <xsl:element name="namePart">
                    <xsl:attribute name="type">text</xsl:attribute>
                <xsl:value-of select="rdfs:label"/>
                   </xsl:element>
                </xsl:element>
          <xsl:for-each select="FaE:digitalDataReference">
	    <xsl:element name="location">
		<xsl:element name="address">
                     <xsl:element name="electronic">
			<xsl:attribute name="type">url</xsl:attribute>
			<xsl:element name="value"><xsl:value-of select="."/></xsl:element>
		     </xsl:element>
	        </xsl:element>
	    </xsl:element>
          </xsl:for-each>

          <xsl:for-each select="FaE:associatedPrincipleInvestigator">

                <xsl:element name="relatedObject">
                   <xsl:element name="key">
                            <xsl:value-of select="@rdf:resource"/>
                   </xsl:element>
                    <xsl:element name="relation">
                        <xsl:attribute name="type">isOwnedBy</xsl:attribute>
                    <xsl:element name="description">research data custodian</xsl:element>
                    </xsl:element>

                </xsl:element>
            </xsl:for-each>

          <xsl:for-each select="FaE:researchDataProductOfProject">

                <xsl:element name="relatedObject">
                   <xsl:element name="key">
                            <xsl:value-of select="@rdf:resource"/>
                   </xsl:element>
                    <xsl:element name="relation">
                        <xsl:attribute name="type">hasCollector</xsl:attribute>
                    <xsl:element name="description">produced by project</xsl:element>
                    </xsl:element>

                </xsl:element>
            </xsl:for-each>

          <xsl:for-each select="FaE:custodianDepartment">

                <xsl:element name="relatedObject">
                   <xsl:element name="key">
                            <xsl:value-of select="@rdf:resource"/>
                   </xsl:element>
                    <xsl:element name="relation">
                        <xsl:attribute name="type">isManagedBy</xsl:attribute>
                    <xsl:element name="description">custodian department</xsl:element>
                    </xsl:element>

                </xsl:element>
            </xsl:for-each>

         <xsl:element name="description">
	  <xsl:attribute name="type">full</xsl:attribute>
          <xsl:value-of select="vitro:description"/>   
	</xsl:element>

            </xsl:element>
         </xsl:element>
           </xsl:element>
</xsl:element>
    </xsl:template>
       
    </xsl:stylesheet>

